In many systems, a data bus is used to interconnect and provide communication between modules and various related subsystems of the system. For example, a computer system may employ a data bus to interconnect a processor, memory, a graphics processor and various other peripheral modules and system elements. Communication between the various interconnected modules and system elements on the data bus generally involves a cooperative sharing of a data channel or channels of the data bus such that whenever a given module transmits data, another module or modules are able to receive and decode the transmitted data. In some implementations, the data bus data channels are shared using a time-domain multiplexing scheme such as time division multiple access (TDMA) mode. For example, a TDMA data bus controller may allocate or assign time slots to specific modules, allowing those modules to transmit only during the assigned time slots. By allocating time slots using a TDMA mode, interference between signals transmitted by different modules may be largely avoided. In particular, restricting communication on the data bus to a single module per time slot avoids potential ambiguities in the transmitted data due to signal interference that otherwise would have been caused by multiple modules trying to transmit simultaneously.
Unfortunately, using TDMA modes ultimately may limit a throughput of the data bus in a given time slot to a data rate of the single module allocated to that time slot. When a data bus, such as an optical data bus, has a bandwidth that is higher than that needed by a particular single module, the data bus performance may suffer in terms of ultimate utilization efficiency and throughput. Improved utilization efficiency and throughput may be achieved by increasing the data rate of particular modules on the data bus but that generally leads to much higher component costs associated with such increased data rates. Similarly, complex modulation schemes and various higher order coding methodologies may be employed to increase data bus throughput and utilization in some instances. However, such complex modulation schemes and higher order data coding methodologies for improving data bus throughput and utilization may not be readily implemented in some instances. For example, optical data buses may not be readily adapted to such schemes, especially where component cost is considered a critical factor.
Certain embodiments of the present invention have other features that are one of in addition to and in lieu of the features illustrated in the above-referenced figures. These and other features of the invention are detailed below with reference to the preceding drawings.